[INV-BACKEND-031] Создать метод оркестратор

Реализация оркестратора реактивной валидации и активации в сервисе меню

Author

Services Task & Simulation Framework Documentation

Published

July 13, 2026

NoteКраткая карточка задачи

  • Инструкция по шагам:
    1. На Шаге 3-5: По запросу GET /list выполнить изолированный запрос SELECT * FROM menu_templates к PostgreSQL Menu DB и вернуть массив шаблонов комплексных меню на Gateway.
    2. При получении запроса на активацию меню, извлечь из базы состав ингредиентов (массив продуктов и объемов), необходимых для данного menu_id.
    3. На Шаге 10: Выполнить синхронный gRPC-вызов к fridge-service, выдав метод VerifyStockAvailability и передав массив требуемых продуктов menu_required_items и строковый параметр space_type.
    4. На Шаге 12а-13а: Если gRPC-ответ от холодильника вернул ошибку нехватки остатков для контура OFFICE, инициировать транзакцию в menu_db, перевести статус данного пользовательского меню в INACTIVE и выбросить исключение наружу.
    5. На Шаге 14-15: При успешном ответе от холодильника вернуть на Gateway статус 200 OK. Сразу после этого в режиме Fire-and-Forget сформировать и отправить пакет в Kafka-топик bpds.pma.out.process.event с признаком event_type: "MENU_CONSUMED". Передать menu_id, массив spent_items и trace_id.